Bash 第六讲 Bash 字符串运算符、查找字符串长度、拆分字符串、提取子字符串、拼接字符串 您所在的位置:网站首页 shell 字符串长度 Bash 第六讲 Bash 字符串运算符、查找字符串长度、拆分字符串、提取子字符串、拼接字符串

Bash 第六讲 Bash 字符串运算符、查找字符串长度、拆分字符串、提取子字符串、拼接字符串

2023-09-03 05:14| 来源: 网络整理| 查看: 265

Bash 字符串运算符

同其他编程语言一样,在 Bash 中,字符串也是一种数据类型。只要以" “引起来,不论是数字还是字符,都会被 Bash 视为字符串。如"Welcome to W3Cschool”。

字符串运算符

= 等于运算符,等于时返回true。 语法示例:

Str1 = Str2

应用示例:

#!/bin/bash Str1="W3Cschool.cn" Str2="W3C" if [ $Str1 = $Str2 ]; then echo "True" else echo "False" fi

执行后得到以下结果:

False

!= 不等于运算符,不等于时返回true。 语法示例:

Str1 != Str2

应用示例:

#!/bin/bash Str1="W3Cschool.cn" Str2="W3C" if [[ $Str1 != $Str2 ]]; then echo "True" else echo "False" fi

执行后得到以下结果:

True

检查字符串长度是否为零。

-n,不为零时返回true。 语法示例: -n Str

应用示例:

#!/bin/sh Str="Welcome to W3Cschool" if [ -n $Str ]; then echo "True" else echo "False" fi

执行后返回以下结果:

True -z为零时。返回true。 语法示例: -z Str

应用示例:

#!/bin/sh Str="Welcome to W3Cschool" if [ -z $Str ]; then echo "True" else echo "False" fi

执行后返回以下结果:

False

检查字符串长度是否为空。

-str不为空时,返回true。 语法示例: -str Str

应用示例:

#!/bin/sh Str="Welcome to W3Cschool" if [ -str $Str ]; then echo "True" else echo "False" fi

执行后返回以下结果:

True Bash 查找字符串长度

在某些情况下,您可能需要了解字符串的长度才能对该字符串执行某些操作。由于在 Bash 中没有相关的内置函数,所以需要参考以下几种方法来学习查找字符串的长度。

方法一

在查找字符串长度的方法中,最简单的是使用#符号。 语法示例:

$(#String)

应用示例:

#!/bin/bash Str="Welcome to W3Cshool.cn" length=${#Str} echo "Length of '$Str' is $length"

执行后得到以下结果:

Length of 'Welcome to W3Cscholl.cn' is 23 方法二

也可将expr命令与length关键字一起使用。 语法示例:

`expr length "$String"`

应用示例:

#!/bin/bash Str="Welcome to W3Cscholl.cn" length=`expr length "$Str"` echo "Length of '$Str' is $length"

执行后得到以下结果:

Length of 'Welcome to W3Cscholl.cn' is 23 方法三

您也可以选择使用expr “$String”: ’ .*'来查找字符串长度。 语法示例:

expr "$String": ' .*'

应用示例:

#!/bin/bash Str="Welcome to W3Cscholl.cn" length=`expr "$Str" : '.*'` echo "Length of '$Str' is $length"

执行后得到以下结果:

Length of 'Welcome to W3Cscholl.cn' is 23 方法四

您也可以选择使用wc命令来查找字符串的长度。 应用示例:

#!/bin/bash Str="Welcome to W3Cscholl.cn" length=`echo $Str | wc -c` echo "Length of '$Str' is $length"

执行后得到以下结果:

Length of 'Welcome to W3Cscholl.cn' is 23 方法五

或者您可以选择使用awk命令来查找字符串长度。 应用示例:

#!/bin/bash Str="Welcome to W3Cscholl.cn" length=`echo $Str |awk '{print length}'` echo "Length of '$Str' is $length"

执行后得到以下结果:

Length of 'Welcome to W3Cscholl.cn' is 23

注: 在这五个方法中,最常用的还是方法一。简单快捷永远是最优选。 为避免在某些特殊情况下需要更换操作方法,建议您脚踏实地的学习哦。

Bash 拆分字符串

在某些情况下,您可能需要先拆分字符串以进行您下一步的操作。由于在 Bash 中不包含类似其他编程语言中的split内置函数,所以需要参考以下几种方法来学习如何拆分字符串。

内部域分隔符

您可以使用$IFS在 Bash 中将字符串细分。

IFS被称为“内部域分隔符”,是一种 set 变量。当 bash shell 处理“命令替换”或“参数替换”时,会根据IFS的值来拆解读入的变量,然后对其进行处理。IFS的默认值为空格符,也可使用\t,\n等值作为分隔符设置给IFS。 示例: #!/bin/bash read -p "Enter any string separated by space: " str #读取字符串的值。 IFS=' ' #将空格设置为分隔符。 read -ra strArr


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有